import uiautomator2 as u2

d = u2.connect_usb("4bf05af7")
d.app_start(package_name="com.android.settings")
# 通过资源ID来定位控件,通过索引来进行限定
# 可以选择多个控件，默认选择的是第一个控件
# d(resourceId="android:id/title")[2].click()
# 通过实例来进行查找，值和索引值是一样的
# d(resourceId="android:id/title", instance=2).click()
# 通过多个条件来进行限定
# d(resourceId="android:id/title", text="蓝牙").click()
# 通过正则表达式的方法来获取资源ID，进行控件的定位
# d(resourceIdMatches="android:id\/\w{5}", text="蓝牙").click()
# 通过className来获取控件定位的时候，需要注意层级关系
# d(className="android.widget.TextView")[4].click()
# d(className="android.widget.TextView", instance=4).click()
# d(classNameMatches="android\.widget\.\w{8}", text="蓝牙").click()
# 这里是链式定位方式
# d(className="android.widget.ListView").child(text="蓝牙").click()
# d(className="android.widget.ListView").child_by_text("蓝牙", resourceId="android:id/title").click()
# 完全的链式定位方法，代码非常的冗长,我们是不建议的
# d(className="android.widget.ListView").child(resourceId="oppo:id/oppo_preference")[2].child(className="android.widget.RelativeLayout").child(resourceId="android:id/title").click()
# 这种方法多次依据，也不建议
# d(resourceId="oppo:id/oppo_preference").sibling(resourceId="oppo:id/oppo_preference", instance=2).click()
